package com.mxx.democharts2.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class SmartProcessTaskProcedureExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SmartProcessTaskProcedureExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSeqIsNull() {
            addCriterion("seq is null");
            return (Criteria) this;
        }

        public Criteria andSeqIsNotNull() {
            addCriterion("seq is not null");
            return (Criteria) this;
        }

        public Criteria andSeqEqualTo(Integer value) {
            addCriterion("seq =", value, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqNotEqualTo(Integer value) {
            addCriterion("seq <>", value, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqGreaterThan(Integer value) {
            addCriterion("seq >", value, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqGreaterThanOrEqualTo(Integer value) {
            addCriterion("seq >=", value, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqLessThan(Integer value) {
            addCriterion("seq <", value, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqLessThanOrEqualTo(Integer value) {
            addCriterion("seq <=", value, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqIn(List<Integer> values) {
            addCriterion("seq in", values, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqNotIn(List<Integer> values) {
            addCriterion("seq not in", values, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqBetween(Integer value1, Integer value2) {
            addCriterion("seq between", value1, value2, "seq");
            return (Criteria) this;
        }

        public Criteria andSeqNotBetween(Integer value1, Integer value2) {
            addCriterion("seq not between", value1, value2, "seq");
            return (Criteria) this;
        }

        public Criteria andProcedureCodeIsNull() {
            addCriterion("procedure_code is null");
            return (Criteria) this;
        }

        public Criteria andProcedureCodeIsNotNull() {
            addCriterion("procedure_code is not null");
            return (Criteria) this;
        }

        public Criteria andProcedureCodeEqualTo(String value) {
            addCriterion("procedure_code =", value, "procedureCode");
            return (Criteria) this;
        }

        public Criteria andProcedureCodeNotEqualTo(String value) {
            addCriterion("procedure_code <>", value, "procedureCode");
            return (Criteria) this;
        }

        public Criteria andProcedureCodeGreaterThan(String value) {
            addCriterion("procedure_code >", value, "procedureCode");
            return (Criteria) this;
        }

        public Criteria andProcedureCodeGreaterThanOrEqualTo(String value) {
            addCriterion("procedure_code >=", value, "procedureCode");
            return (Criteria) this;
        }

        public Criteria andProcedureCodeLessThan(String value) {
            addCriterion("procedure_code <", value, "procedureCode");
            return (Criteria) this;
        }

        public Criteria andProcedureCodeLessThanOrEqualTo(String value) {
            addCriterion("procedure_code <=", value, "procedureCode");
            return (Criteria) this;
        }

        public Criteria andProcedureCodeLike(String value) {
            addCriterion("procedure_code like", value, "procedureCode");
            return (Criteria) this;
        }

        public Criteria andProcedureCodeNotLike(String value) {
            addCriterion("procedure_code not like", value, "procedureCode");
            return (Criteria) this;
        }

        public Criteria andProcedureCodeIn(List<String> values) {
            addCriterion("procedure_code in", values, "procedureCode");
            return (Criteria) this;
        }

        public Criteria andProcedureCodeNotIn(List<String> values) {
            addCriterion("procedure_code not in", values, "procedureCode");
            return (Criteria) this;
        }

        public Criteria andProcedureCodeBetween(String value1, String value2) {
            addCriterion("procedure_code between", value1, value2, "procedureCode");
            return (Criteria) this;
        }

        public Criteria andProcedureCodeNotBetween(String value1, String value2) {
            addCriterion("procedure_code not between", value1, value2, "procedureCode");
            return (Criteria) this;
        }

        public Criteria andProcessTaskSeqIsNull() {
            addCriterion("process_task_seq is null");
            return (Criteria) this;
        }

        public Criteria andProcessTaskSeqIsNotNull() {
            addCriterion("process_task_seq is not null");
            return (Criteria) this;
        }

        public Criteria andProcessTaskSeqEqualTo(Integer value) {
            addCriterion("process_task_seq =", value, "processTaskSeq");
            return (Criteria) this;
        }

        public Criteria andProcessTaskSeqNotEqualTo(Integer value) {
            addCriterion("process_task_seq <>", value, "processTaskSeq");
            return (Criteria) this;
        }

        public Criteria andProcessTaskSeqGreaterThan(Integer value) {
            addCriterion("process_task_seq >", value, "processTaskSeq");
            return (Criteria) this;
        }

        public Criteria andProcessTaskSeqGreaterThanOrEqualTo(Integer value) {
            addCriterion("process_task_seq >=", value, "processTaskSeq");
            return (Criteria) this;
        }

        public Criteria andProcessTaskSeqLessThan(Integer value) {
            addCriterion("process_task_seq <", value, "processTaskSeq");
            return (Criteria) this;
        }

        public Criteria andProcessTaskSeqLessThanOrEqualTo(Integer value) {
            addCriterion("process_task_seq <=", value, "processTaskSeq");
            return (Criteria) this;
        }

        public Criteria andProcessTaskSeqIn(List<Integer> values) {
            addCriterion("process_task_seq in", values, "processTaskSeq");
            return (Criteria) this;
        }

        public Criteria andProcessTaskSeqNotIn(List<Integer> values) {
            addCriterion("process_task_seq not in", values, "processTaskSeq");
            return (Criteria) this;
        }

        public Criteria andProcessTaskSeqBetween(Integer value1, Integer value2) {
            addCriterion("process_task_seq between", value1, value2, "processTaskSeq");
            return (Criteria) this;
        }

        public Criteria andProcessTaskSeqNotBetween(Integer value1, Integer value2) {
            addCriterion("process_task_seq not between", value1, value2, "processTaskSeq");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureSeqIsNull() {
            addCriterion("craft_procedure_seq is null");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureSeqIsNotNull() {
            addCriterion("craft_procedure_seq is not null");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureSeqEqualTo(Long value) {
            addCriterion("craft_procedure_seq =", value, "craftProcedureSeq");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureSeqNotEqualTo(Long value) {
            addCriterion("craft_procedure_seq <>", value, "craftProcedureSeq");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureSeqGreaterThan(Long value) {
            addCriterion("craft_procedure_seq >", value, "craftProcedureSeq");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureSeqGreaterThanOrEqualTo(Long value) {
            addCriterion("craft_procedure_seq >=", value, "craftProcedureSeq");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureSeqLessThan(Long value) {
            addCriterion("craft_procedure_seq <", value, "craftProcedureSeq");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureSeqLessThanOrEqualTo(Long value) {
            addCriterion("craft_procedure_seq <=", value, "craftProcedureSeq");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureSeqIn(List<Long> values) {
            addCriterion("craft_procedure_seq in", values, "craftProcedureSeq");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureSeqNotIn(List<Long> values) {
            addCriterion("craft_procedure_seq not in", values, "craftProcedureSeq");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureSeqBetween(Long value1, Long value2) {
            addCriterion("craft_procedure_seq between", value1, value2, "craftProcedureSeq");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureSeqNotBetween(Long value1, Long value2) {
            addCriterion("craft_procedure_seq not between", value1, value2, "craftProcedureSeq");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureNameIsNull() {
            addCriterion("craft_procedure_name is null");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureNameIsNotNull() {
            addCriterion("craft_procedure_name is not null");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureNameEqualTo(String value) {
            addCriterion("craft_procedure_name =", value, "craftProcedureName");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureNameNotEqualTo(String value) {
            addCriterion("craft_procedure_name <>", value, "craftProcedureName");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureNameGreaterThan(String value) {
            addCriterion("craft_procedure_name >", value, "craftProcedureName");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureNameGreaterThanOrEqualTo(String value) {
            addCriterion("craft_procedure_name >=", value, "craftProcedureName");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureNameLessThan(String value) {
            addCriterion("craft_procedure_name <", value, "craftProcedureName");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureNameLessThanOrEqualTo(String value) {
            addCriterion("craft_procedure_name <=", value, "craftProcedureName");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureNameLike(String value) {
            addCriterion("craft_procedure_name like", value, "craftProcedureName");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureNameNotLike(String value) {
            addCriterion("craft_procedure_name not like", value, "craftProcedureName");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureNameIn(List<String> values) {
            addCriterion("craft_procedure_name in", values, "craftProcedureName");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureNameNotIn(List<String> values) {
            addCriterion("craft_procedure_name not in", values, "craftProcedureName");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureNameBetween(String value1, String value2) {
            addCriterion("craft_procedure_name between", value1, value2, "craftProcedureName");
            return (Criteria) this;
        }

        public Criteria andCraftProcedureNameNotBetween(String value1, String value2) {
            addCriterion("craft_procedure_name not between", value1, value2, "craftProcedureName");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIsNull() {
            addCriterion("order_number is null");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIsNotNull() {
            addCriterion("order_number is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNumberEqualTo(Long value) {
            addCriterion("order_number =", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotEqualTo(Long value) {
            addCriterion("order_number <>", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberGreaterThan(Long value) {
            addCriterion("order_number >", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberGreaterThanOrEqualTo(Long value) {
            addCriterion("order_number >=", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLessThan(Long value) {
            addCriterion("order_number <", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLessThanOrEqualTo(Long value) {
            addCriterion("order_number <=", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIn(List<Long> values) {
            addCriterion("order_number in", values, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotIn(List<Long> values) {
            addCriterion("order_number not in", values, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberBetween(Long value1, Long value2) {
            addCriterion("order_number between", value1, value2, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotBetween(Long value1, Long value2) {
            addCriterion("order_number not between", value1, value2, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andEquipmentSeqIsNull() {
            addCriterion("equipment_seq is null");
            return (Criteria) this;
        }

        public Criteria andEquipmentSeqIsNotNull() {
            addCriterion("equipment_seq is not null");
            return (Criteria) this;
        }

        public Criteria andEquipmentSeqEqualTo(Long value) {
            addCriterion("equipment_seq =", value, "equipmentSeq");
            return (Criteria) this;
        }

        public Criteria andEquipmentSeqNotEqualTo(Long value) {
            addCriterion("equipment_seq <>", value, "equipmentSeq");
            return (Criteria) this;
        }

        public Criteria andEquipmentSeqGreaterThan(Long value) {
            addCriterion("equipment_seq >", value, "equipmentSeq");
            return (Criteria) this;
        }

        public Criteria andEquipmentSeqGreaterThanOrEqualTo(Long value) {
            addCriterion("equipment_seq >=", value, "equipmentSeq");
            return (Criteria) this;
        }

        public Criteria andEquipmentSeqLessThan(Long value) {
            addCriterion("equipment_seq <", value, "equipmentSeq");
            return (Criteria) this;
        }

        public Criteria andEquipmentSeqLessThanOrEqualTo(Long value) {
            addCriterion("equipment_seq <=", value, "equipmentSeq");
            return (Criteria) this;
        }

        public Criteria andEquipmentSeqIn(List<Long> values) {
            addCriterion("equipment_seq in", values, "equipmentSeq");
            return (Criteria) this;
        }

        public Criteria andEquipmentSeqNotIn(List<Long> values) {
            addCriterion("equipment_seq not in", values, "equipmentSeq");
            return (Criteria) this;
        }

        public Criteria andEquipmentSeqBetween(Long value1, Long value2) {
            addCriterion("equipment_seq between", value1, value2, "equipmentSeq");
            return (Criteria) this;
        }

        public Criteria andEquipmentSeqNotBetween(Long value1, Long value2) {
            addCriterion("equipment_seq not between", value1, value2, "equipmentSeq");
            return (Criteria) this;
        }

        public Criteria andMachiningAmountIsNull() {
            addCriterion("machining_amount is null");
            return (Criteria) this;
        }

        public Criteria andMachiningAmountIsNotNull() {
            addCriterion("machining_amount is not null");
            return (Criteria) this;
        }

        public Criteria andMachiningAmountEqualTo(Long value) {
            addCriterion("machining_amount =", value, "machiningAmount");
            return (Criteria) this;
        }

        public Criteria andMachiningAmountNotEqualTo(Long value) {
            addCriterion("machining_amount <>", value, "machiningAmount");
            return (Criteria) this;
        }

        public Criteria andMachiningAmountGreaterThan(Long value) {
            addCriterion("machining_amount >", value, "machiningAmount");
            return (Criteria) this;
        }

        public Criteria andMachiningAmountGreaterThanOrEqualTo(Long value) {
            addCriterion("machining_amount >=", value, "machiningAmount");
            return (Criteria) this;
        }

        public Criteria andMachiningAmountLessThan(Long value) {
            addCriterion("machining_amount <", value, "machiningAmount");
            return (Criteria) this;
        }

        public Criteria andMachiningAmountLessThanOrEqualTo(Long value) {
            addCriterion("machining_amount <=", value, "machiningAmount");
            return (Criteria) this;
        }

        public Criteria andMachiningAmountIn(List<Long> values) {
            addCriterion("machining_amount in", values, "machiningAmount");
            return (Criteria) this;
        }

        public Criteria andMachiningAmountNotIn(List<Long> values) {
            addCriterion("machining_amount not in", values, "machiningAmount");
            return (Criteria) this;
        }

        public Criteria andMachiningAmountBetween(Long value1, Long value2) {
            addCriterion("machining_amount between", value1, value2, "machiningAmount");
            return (Criteria) this;
        }

        public Criteria andMachiningAmountNotBetween(Long value1, Long value2) {
            addCriterion("machining_amount not between", value1, value2, "machiningAmount");
            return (Criteria) this;
        }

        public Criteria andQualifiedAmountIsNull() {
            addCriterion("qualified_amount is null");
            return (Criteria) this;
        }

        public Criteria andQualifiedAmountIsNotNull() {
            addCriterion("qualified_amount is not null");
            return (Criteria) this;
        }

        public Criteria andQualifiedAmountEqualTo(Long value) {
            addCriterion("qualified_amount =", value, "qualifiedAmount");
            return (Criteria) this;
        }

        public Criteria andQualifiedAmountNotEqualTo(Long value) {
            addCriterion("qualified_amount <>", value, "qualifiedAmount");
            return (Criteria) this;
        }

        public Criteria andQualifiedAmountGreaterThan(Long value) {
            addCriterion("qualified_amount >", value, "qualifiedAmount");
            return (Criteria) this;
        }

        public Criteria andQualifiedAmountGreaterThanOrEqualTo(Long value) {
            addCriterion("qualified_amount >=", value, "qualifiedAmount");
            return (Criteria) this;
        }

        public Criteria andQualifiedAmountLessThan(Long value) {
            addCriterion("qualified_amount <", value, "qualifiedAmount");
            return (Criteria) this;
        }

        public Criteria andQualifiedAmountLessThanOrEqualTo(Long value) {
            addCriterion("qualified_amount <=", value, "qualifiedAmount");
            return (Criteria) this;
        }

        public Criteria andQualifiedAmountIn(List<Long> values) {
            addCriterion("qualified_amount in", values, "qualifiedAmount");
            return (Criteria) this;
        }

        public Criteria andQualifiedAmountNotIn(List<Long> values) {
            addCriterion("qualified_amount not in", values, "qualifiedAmount");
            return (Criteria) this;
        }

        public Criteria andQualifiedAmountBetween(Long value1, Long value2) {
            addCriterion("qualified_amount between", value1, value2, "qualifiedAmount");
            return (Criteria) this;
        }

        public Criteria andQualifiedAmountNotBetween(Long value1, Long value2) {
            addCriterion("qualified_amount not between", value1, value2, "qualifiedAmount");
            return (Criteria) this;
        }

        public Criteria andWasteAmountIsNull() {
            addCriterion("waste_amount is null");
            return (Criteria) this;
        }

        public Criteria andWasteAmountIsNotNull() {
            addCriterion("waste_amount is not null");
            return (Criteria) this;
        }

        public Criteria andWasteAmountEqualTo(Long value) {
            addCriterion("waste_amount =", value, "wasteAmount");
            return (Criteria) this;
        }

        public Criteria andWasteAmountNotEqualTo(Long value) {
            addCriterion("waste_amount <>", value, "wasteAmount");
            return (Criteria) this;
        }

        public Criteria andWasteAmountGreaterThan(Long value) {
            addCriterion("waste_amount >", value, "wasteAmount");
            return (Criteria) this;
        }

        public Criteria andWasteAmountGreaterThanOrEqualTo(Long value) {
            addCriterion("waste_amount >=", value, "wasteAmount");
            return (Criteria) this;
        }

        public Criteria andWasteAmountLessThan(Long value) {
            addCriterion("waste_amount <", value, "wasteAmount");
            return (Criteria) this;
        }

        public Criteria andWasteAmountLessThanOrEqualTo(Long value) {
            addCriterion("waste_amount <=", value, "wasteAmount");
            return (Criteria) this;
        }

        public Criteria andWasteAmountIn(List<Long> values) {
            addCriterion("waste_amount in", values, "wasteAmount");
            return (Criteria) this;
        }

        public Criteria andWasteAmountNotIn(List<Long> values) {
            addCriterion("waste_amount not in", values, "wasteAmount");
            return (Criteria) this;
        }

        public Criteria andWasteAmountBetween(Long value1, Long value2) {
            addCriterion("waste_amount between", value1, value2, "wasteAmount");
            return (Criteria) this;
        }

        public Criteria andWasteAmountNotBetween(Long value1, Long value2) {
            addCriterion("waste_amount not between", value1, value2, "wasteAmount");
            return (Criteria) this;
        }

        public Criteria andUserSeqIsNull() {
            addCriterion("user_seq is null");
            return (Criteria) this;
        }

        public Criteria andUserSeqIsNotNull() {
            addCriterion("user_seq is not null");
            return (Criteria) this;
        }

        public Criteria andUserSeqEqualTo(Long value) {
            addCriterion("user_seq =", value, "userSeq");
            return (Criteria) this;
        }

        public Criteria andUserSeqNotEqualTo(Long value) {
            addCriterion("user_seq <>", value, "userSeq");
            return (Criteria) this;
        }

        public Criteria andUserSeqGreaterThan(Long value) {
            addCriterion("user_seq >", value, "userSeq");
            return (Criteria) this;
        }

        public Criteria andUserSeqGreaterThanOrEqualTo(Long value) {
            addCriterion("user_seq >=", value, "userSeq");
            return (Criteria) this;
        }

        public Criteria andUserSeqLessThan(Long value) {
            addCriterion("user_seq <", value, "userSeq");
            return (Criteria) this;
        }

        public Criteria andUserSeqLessThanOrEqualTo(Long value) {
            addCriterion("user_seq <=", value, "userSeq");
            return (Criteria) this;
        }

        public Criteria andUserSeqIn(List<Long> values) {
            addCriterion("user_seq in", values, "userSeq");
            return (Criteria) this;
        }

        public Criteria andUserSeqNotIn(List<Long> values) {
            addCriterion("user_seq not in", values, "userSeq");
            return (Criteria) this;
        }

        public Criteria andUserSeqBetween(Long value1, Long value2) {
            addCriterion("user_seq between", value1, value2, "userSeq");
            return (Criteria) this;
        }

        public Criteria andUserSeqNotBetween(Long value1, Long value2) {
            addCriterion("user_seq not between", value1, value2, "userSeq");
            return (Criteria) this;
        }

        public Criteria andProcessingDateIsNull() {
            addCriterion("processing_date is null");
            return (Criteria) this;
        }

        public Criteria andProcessingDateIsNotNull() {
            addCriterion("processing_date is not null");
            return (Criteria) this;
        }

        public Criteria andProcessingDateEqualTo(Date value) {
            addCriterion("processing_date =", value, "processingDate");
            return (Criteria) this;
        }

        public Criteria andProcessingDateNotEqualTo(Date value) {
            addCriterion("processing_date <>", value, "processingDate");
            return (Criteria) this;
        }

        public Criteria andProcessingDateGreaterThan(Date value) {
            addCriterion("processing_date >", value, "processingDate");
            return (Criteria) this;
        }

        public Criteria andProcessingDateGreaterThanOrEqualTo(Date value) {
            addCriterion("processing_date >=", value, "processingDate");
            return (Criteria) this;
        }

        public Criteria andProcessingDateLessThan(Date value) {
            addCriterion("processing_date <", value, "processingDate");
            return (Criteria) this;
        }

        public Criteria andProcessingDateLessThanOrEqualTo(Date value) {
            addCriterion("processing_date <=", value, "processingDate");
            return (Criteria) this;
        }

        public Criteria andProcessingDateIn(List<Date> values) {
            addCriterion("processing_date in", values, "processingDate");
            return (Criteria) this;
        }

        public Criteria andProcessingDateNotIn(List<Date> values) {
            addCriterion("processing_date not in", values, "processingDate");
            return (Criteria) this;
        }

        public Criteria andProcessingDateBetween(Date value1, Date value2) {
            addCriterion("processing_date between", value1, value2, "processingDate");
            return (Criteria) this;
        }

        public Criteria andProcessingDateNotBetween(Date value1, Date value2) {
            addCriterion("processing_date not between", value1, value2, "processingDate");
            return (Criteria) this;
        }

        public Criteria andIsExamineIsNull() {
            addCriterion("is_examine is null");
            return (Criteria) this;
        }

        public Criteria andIsExamineIsNotNull() {
            addCriterion("is_examine is not null");
            return (Criteria) this;
        }

        public Criteria andIsExamineEqualTo(Boolean value) {
            addCriterion("is_examine =", value, "isExamine");
            return (Criteria) this;
        }

        public Criteria andIsExamineNotEqualTo(Boolean value) {
            addCriterion("is_examine <>", value, "isExamine");
            return (Criteria) this;
        }

        public Criteria andIsExamineGreaterThan(Boolean value) {
            addCriterion("is_examine >", value, "isExamine");
            return (Criteria) this;
        }

        public Criteria andIsExamineGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_examine >=", value, "isExamine");
            return (Criteria) this;
        }

        public Criteria andIsExamineLessThan(Boolean value) {
            addCriterion("is_examine <", value, "isExamine");
            return (Criteria) this;
        }

        public Criteria andIsExamineLessThanOrEqualTo(Boolean value) {
            addCriterion("is_examine <=", value, "isExamine");
            return (Criteria) this;
        }

        public Criteria andIsExamineIn(List<Boolean> values) {
            addCriterion("is_examine in", values, "isExamine");
            return (Criteria) this;
        }

        public Criteria andIsExamineNotIn(List<Boolean> values) {
            addCriterion("is_examine not in", values, "isExamine");
            return (Criteria) this;
        }

        public Criteria andIsExamineBetween(Boolean value1, Boolean value2) {
            addCriterion("is_examine between", value1, value2, "isExamine");
            return (Criteria) this;
        }

        public Criteria andIsExamineNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_examine not between", value1, value2, "isExamine");
            return (Criteria) this;
        }

        public Criteria andExamineDataIsNull() {
            addCriterion("examine_data is null");
            return (Criteria) this;
        }

        public Criteria andExamineDataIsNotNull() {
            addCriterion("examine_data is not null");
            return (Criteria) this;
        }

        public Criteria andExamineDataEqualTo(Date value) {
            addCriterion("examine_data =", value, "examineData");
            return (Criteria) this;
        }

        public Criteria andExamineDataNotEqualTo(Date value) {
            addCriterion("examine_data <>", value, "examineData");
            return (Criteria) this;
        }

        public Criteria andExamineDataGreaterThan(Date value) {
            addCriterion("examine_data >", value, "examineData");
            return (Criteria) this;
        }

        public Criteria andExamineDataGreaterThanOrEqualTo(Date value) {
            addCriterion("examine_data >=", value, "examineData");
            return (Criteria) this;
        }

        public Criteria andExamineDataLessThan(Date value) {
            addCriterion("examine_data <", value, "examineData");
            return (Criteria) this;
        }

        public Criteria andExamineDataLessThanOrEqualTo(Date value) {
            addCriterion("examine_data <=", value, "examineData");
            return (Criteria) this;
        }

        public Criteria andExamineDataIn(List<Date> values) {
            addCriterion("examine_data in", values, "examineData");
            return (Criteria) this;
        }

        public Criteria andExamineDataNotIn(List<Date> values) {
            addCriterion("examine_data not in", values, "examineData");
            return (Criteria) this;
        }

        public Criteria andExamineDataBetween(Date value1, Date value2) {
            addCriterion("examine_data between", value1, value2, "examineData");
            return (Criteria) this;
        }

        public Criteria andExamineDataNotBetween(Date value1, Date value2) {
            addCriterion("examine_data not between", value1, value2, "examineData");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("state is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("state is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(Boolean value) {
            addCriterion("state =", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotEqualTo(Boolean value) {
            addCriterion("state <>", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThan(Boolean value) {
            addCriterion("state >", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThanOrEqualTo(Boolean value) {
            addCriterion("state >=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThan(Boolean value) {
            addCriterion("state <", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThanOrEqualTo(Boolean value) {
            addCriterion("state <=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateIn(List<Boolean> values) {
            addCriterion("state in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotIn(List<Boolean> values) {
            addCriterion("state not in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateBetween(Boolean value1, Boolean value2) {
            addCriterion("state between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotBetween(Boolean value1, Boolean value2) {
            addCriterion("state not between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andFlagIsNull() {
            addCriterion("flag is null");
            return (Criteria) this;
        }

        public Criteria andFlagIsNotNull() {
            addCriterion("flag is not null");
            return (Criteria) this;
        }

        public Criteria andFlagEqualTo(Boolean value) {
            addCriterion("flag =", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotEqualTo(Boolean value) {
            addCriterion("flag <>", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagGreaterThan(Boolean value) {
            addCriterion("flag >", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagGreaterThanOrEqualTo(Boolean value) {
            addCriterion("flag >=", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagLessThan(Boolean value) {
            addCriterion("flag <", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagLessThanOrEqualTo(Boolean value) {
            addCriterion("flag <=", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagIn(List<Boolean> values) {
            addCriterion("flag in", values, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotIn(List<Boolean> values) {
            addCriterion("flag not in", values, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagBetween(Boolean value1, Boolean value2) {
            addCriterion("flag between", value1, value2, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotBetween(Boolean value1, Boolean value2) {
            addCriterion("flag not between", value1, value2, "flag");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}